\input{chapters/nopengine/ft}
\chapter{Hinhergrundinformationen von NOP-Engine}
Dieses Kapitel gibt die Beschreibung der grundlegenden Hintergrundinformationen, sowie die wichtige Konzepte, die Methodik und die offene Frage, f"ur das Verst"andnis der in dieser Diplomarbeit behandelten Thematik zum Berechnen von NOPs f"ur das Projekt NOP-Engine.
\section{Konzepte}
Bevor die Konzepte von NOP-Engine anzun"ahren sind, werden zun"achst folgede allgemeine Definitionen vorgestellt, die f"ur das Verstandis der Konzepten zur Verf"ugung stehen sollen.
\begin{description}
\item[Web-Site] \engl{Web Site} ist eine Menge von unterschiedlichen Web-Seiten.
\item[Web-Seite]\engl{Web Page} beschreibt  eine HTML Seite der Web-Anwendung oder ist "Ahnliche wie JSP, ASP, PHP usw. 
\item[Handlungsweisen von Benutzern] \engl{Behaviors} bezeichnen generell alles, was registrierende Benutzer online getan haben, und werden zum Berechnen von NOPs in zwei Gruppen aufgeteilt.
	\begin{description}
		\item[Gruppe 1\label{beh:group1}] : {\bf Zeitdauerhandlungsweisen} repr"asentieren, wie lange Benutzer auf Web-Seiten bleiben.
		\item[Gruppe 2\label{beh:group2}] : Alle anderen Handlungsweisen werden als {\bf Aktionshandlungsweisen} genannt.
	\end{description} 
\end{description} 

\subsection{Thema}
Ein {\bf Thema} \engl{Topic} ist eine Art des Inhalts einer Web-Site und beschreibt eine Zusammenfassung einer Menge von Informationen, die von der Web-Site angeboten werden. Intuitiv ist ein Thema ein nat"urliches Wort. In Gugugubarra wird eine Reihe von Themen auf der Designer-Seite f"ur ein Web-Site global\footnote{Die globale Variablen in Gugubarra k"onnen von allen drei Teilsystemen zugriffen werden.} definiert.

\subsection{Aktion}
{\bf Aktionen} \engl{Actions} bezeichnen die Aktionshandlungsweisen von registrierten Benutzern. Dadurch k"onnen Benutzer auf gewisse Informationen von Web-Seiten Zugriff erhalten. Aktionen sollten auch global definiert werden und k"onnen sich dynamisch ver"andern, d.h. man kann eine Aktion nach dem Anlegen bei irgendeinem Zeitpunkt "andern. Solche "Anderungen sollten sofort zum Aufbauen von neuen NOPs wirken.
%Au"ser dem Bezeichner wie \topics besitzen \actions noch \kc{Gewicht}(weight). Ein \kc{Gewicht einer}\action bezeichnet die Relevanz der \action innerhalb dem ganzen Web-Site.
\subsection{Gewicht}
Zum Berechnen und Analysieren von NOPs werden {\bf Gewichte} \engl{weight} f"ur Themen und Aktionen zur Verf"ugung gestellt. Diese Gewichte beschreiben die Relevanz von Themen und Aktionen f"ur eine Web-Site. Bei dem Anlegen einer Aktion soll sie ein Gewicht gleichzeitig zugewiesen sein. Im Gegensatz besitzt ein Thema selbst kein Gewicht, sondern nur in Bezug auf eine Zone oder ein NOP.
\subsection{Zone}
Eine Web-Seite kann als eine Kombination von mehreren "`\kc{Bereichen}"' \engl{areas} betrachtet werden, die die gewisse Inhalte einer Web-Site repr"asentieren. Eine {\bf Zone} besteht aus einer Reihe von solchen "`Bereichen"', d.h. eine Zone kann
\begin{itemize}
\item ein Teil einer Web-Seite, oder
\item eine ganze Web-Seite, oder
\item eine Kombination von Beidem
\end{itemize}
sein. Ausgehend von dieser Definition soll eine Zone mehrere Themen enthalten. Die Kollektion solcher Themen werden als {\bf die Thema-Liste einer Zone} \engl{zone topic weight}  genannt.
\figuresOfZone
\subsubsection{Thema-Liste einer Zone}
Diese Listen enthalten nicht nur Themen, sondern auch entsprechende Thema-Gewichte in Bezug auf Zonen. Elemente in dieser Liste sind Paaren von Themen und ihres Gewichts, im mathematischen Schreiben \[(Tp_i, v(Tp_i, Z_q))\] wobei 
\begin{itemize}
	\item $Tp_i$ ist das Thema mit dem Index $i$
	\item $v(Tp_i, Z_q)$ ist das Thema-Gewicht in Bezug auf die Zone $q$.
\end{itemize}
Bei der Erzeugung einer Zone wird eine Thema-Liste f"ur diese Zone gleichzeitig angelegt. Auf der Designer-Seite kann diese Liste nach der Erzeugung sowie eine Aktion dynamisch ver"andert werden, z.B. Einf"ugen oder Entfernen eines Themas bzw. des Gewichts.
\subsubsection{Zonenzust"ande}
Zonenzust"ande \engl{zone states} bezeichnen Zust"ande von Zonen, Es handelt sich darum, ob eine Zone zum Berechnen von NOPs beitragen soll. F"ur NOP-Engine stehen drei Zonenzust"ande zur Verf"ugung,
\begin{enumerate}
\item {\bf ON}, \\Eine Zone mit dem ON-Zustand sollte zur NOP-Kalkulation beitragen.
\item {\bf OFF}, \\Mit dem Zonenzustand OFF wird eine Zone beim Berechnen von NOPs ignoriert.
\item {\bf OFF-ACTION-SENSITIVE}. \\In diesem Fall ist ein NOP nur von den \kc{Handlungsweisen} von Benutzern innerhalb einer Zone abh"angig, und Zeitdauerprofile (siehe Abschnitt \ref{durP}).
%\footnote{\durP} 
werden zum Berechnen von NOPs vernachl"assigt.
\end{enumerate}
Zonenzust"ande beeinflussen die NOP-Kalkulation und befassen sich mit der Abh"angigkeit zwischen Zonen und Zeitdauerprofile bzw. Aktionsprofile. 
\subsubsection{Zone Zero}
Eine Zone mit dem Zustand OFF und einer leeren Thema-Liste wird als eine {\bf leere Zone } \engl{Zone Zero} bezeichnet. Beide Eigenschaften, den Zonenzustand und die Thema-Liste dieser Zone, sind nicht ver"anderbar. Diese Zone wird als einen Platzhalter f"ur die zukunftige NOP-Berechnung betrachtet. 


\subsection{Semantik}
Bei {\bf Semantik} \engl{Semantic} handelt es sich darum, wie sich Thema-Gewichte in Bezug auf Zonen erstellen lassen, und was f"ur Bedeutungen Thema-Gewichte bez"uglich von NOPs aufweisen. F"ur die NOP-Berechnung stehen drei Arten von Semantik zur Verf"ugung, um unterschiedliche Ziele zur Analyse von NOPs zu erreichen. 

\subsection{Strategie}
Bei Strategien \engl{strategy} liegt die Betonnung auf Einstallungsvariablen \engl{settings} zum Berechnen von NOPs f"ur NOP-Engine. Ein NOP-Engine kann mehrere Strategy besitzen, aber bei einer NOP-Berechnung nur eine Strategie verwenden. Infolgedessen besteht es die M"oglichkeit, dass ein Benutzer mehrere NOPs haben kann. Strategien dotieren die NOPs eines Benutzers mit verschiedenen Bedeutungen, und bieten eine Vielfalt der Analyse von den Handlungsweisen eines Benutzers an.

\subsection{NOP}
In Gugubarra sind {\bf NOPs} Instanzen von dem "`None-Obvious Profile"', Ergebnisse von NOP-Engine und Eingaben von Clustering. Ein NOP wird als eine Liste von den Paaren
\[\Big(\,Tp_j, \:v(Tp_j, N_K)\,\Big)\]
dargestellt, wobei 
\begin{itemize}
\item $Tp_j$ das \topic $j$ ist, und
\item $v(Tp_j, N_k)$ das Thema-Gewicht in Bezug auf das NOP $k$ ergibt.
\end{itemize}
Ausgehend von Strategien besitzt ein Bnutzer m"oglicherweise mehrere NOPs. Sie m"ussen mit einem gewissen Historie-Mechanismus abgespeichert und sp"ater als die Eingaben von Clustering verwendet werden.
\section{Methodik zum Berechnen von NOPs}
In Gugubarra wird eine Methodik zum Berechnen von NOPs auf der theoretischen Ebene als 5 mathematische Formeln angeboten. Vor dem Berechnen von NOPs wird Angenommen, dass das NOP-Engine alle ben"otigten Daten, die von oben als Konzepte deklariert sind, in einem wohlgeformten Format erhalten haben soll. Im Folgenden werden diese Formeln nacheinander detailliert. 
\subsection{Zeitdauerprofil}\label{durP}
Bei einem {\bf Zeitdauerprofil} \engl{Page Duration Profile} in Bezug Auf ein Thema handelt es sich darum, alle notierten Zeitdauerhandlungsweisen eines Benutzers innerhalb einer Web-Sitzung mit der folgenden Formel zu quantifizieren,
\formulaDurP
Angesichts der obenerw"ahnten Annahme sollten alle verbr"auchten Informationen der Zeitdauerhandlungsweisen f"ur die Kalkulation von NOPs zur Verf"ugung stehen. Infolgedessen l"asst sich $duration(P_j)$ leicht erhalten. Das einzige Problem bei der Formel \ref{formulaDurP} ist, $v(Tp_i, P_j)$ zu berechnen. Wir benutzen die sogenannte {\bf Regel der Web-Seite} \engl{page rule}, die als eine Einstellungsvariable durch die Strategie zugreifen k"onnen, um diesen Wert auszuwerten.
\subsubsection{Page Rule}
In Gugubarra werden 3 Regeln der Web-Seite f"ur NOP-Engine zur Verf"ugung gestellt.
\begin{itemize}
\item {\bf MAX-Rule}.\\
Mit der Regel MAX-Rule gilt
\[
	v(Tp_i, P_j) := max(v(Tp_i, Z_q))
\]
mit
\begin{itemize}
	\item $\forall\: Z_q \in P_j$
	\item jede \zone $Z_q$ besitzt einen Zonenzustand "`{\bf ON}"'
\end{itemize}
\item {\bf MIN-Rule}.\\
In diesem Fall wird das Ergebnis gegen"uber der MAX-Rule umgekehrt.
\[
	v(Tp_i, P_j) := min(v(Tp_i, Z_q))
\]
mit
\begin{itemize}
	\item $\forall\: Z_q \in P_j$
	\item jede \zone $Z_q$ besitzt einen Zonenzustand "`{\bf ON}"'
\end{itemize}
\item {\bf AVG-Rule}\\
Mit der AVG-Rule  wird der Mittelwert berechnet,
\[
	v(Tp_i, P_j) = avg(v(Tp_i, Z_q))
\]
mit
\begin{itemize}
	\item $\forall\: Z_q \in P_J$
	\item jede \zone $Z_q$ besitzt einen \zonestate "`{\bf ON}"'
\end{itemize}
\end{itemize}
Ausgehend von den Definitionen ist eine Vorbedingung wichtig f"ur alle Regeln. Nur die Zone mit einem Zonenzustand "`{\bf ON}"' d"urfen von dieser Formel aufgenommen werden, sonst m"ussen sie ignoriert werden. 


\subsubsection{Prominenter Faktor}
Um Thema-Gewichte in Bezug auf Web-Seiten zu versch"arfen, wird ein {\bf Prominenter Faktor} $pf$ von Strategien angeboten, mit
\[
	pf(Tp_i, P_j) :=  |Zs(Tp_i, P_j)| / |Zs(P_j)|
\]
wobei
\begin{itemize}
	\item $Zs(Tp_i, P_j)$ die Liste von den Zonen ist, die das Thema $Tp_i$ enth"alt und die Web-Seite $P_j$ vollst"andig oder teilweise einarbeiten.
	 \item $Zs(P_j)$ die Liste von den Zonen bezeichnet, die vollst"andig oder teilweise von der Web-Seite $P_j$ beinhalten wird.
	 \item $||$ die Anzahl des Elements einer Liste berechnet.
\end{itemize}
Dieser prominente Faktor kann auch als Relevanz eines Themas in Bezug auf eine Web-Seite betrachtet werden. Damit ergibt sich eine Erweiterung von der Formel \ref{formulaDurP}

\begin{equation} \label{formulaDurPExt}
	DurP(i) = \frac{\displaystyle
		\sum_{j} \Big(duration(P_j)*\Big(v(Tp_{i}, P_j)*pf(Tp_i, P_j)\Big)\Big)}
		{\displaystyle\sum_{k}{duration(P_k)}}
\end{equation}
In der aktuellen Version des Gugubarra-Projekts wird der \kc{prominente Faktor} durch einen Schalter aktiviert oder deaktiviert. Das hei"st, ein sch"arferes Zeitdauerprofil nur durch den aktivierten prominenten Faktor zu erhalten ist, sonst soll die Formel \ref{formulaDurP} angewendet werden.

\subsection{Aktionsprofil}
Im Vergleich mit Zeitdauerprofilen werden Beitr"age der Aktionshandlungsweisen eines Benutzers in Bezug auf eine Web-Sitzung mit der Formel \ref{formulaActP} quantifiziert, und als {\bf Aktionsprofile} \engl{Action Profiles} bezeichnet. Die Formel zum Berechnen eines Aktionsprofils ist wie folgende,
\formulaActP
\subsection{Thema-Gewicht einer Session}
Beim {\bf Thema-Gewicht einer Session} \engl{Session Topic Weight} handelt es sich darum, die Betr"age aller Handlungsweisen eines Benutzers innerhalb einer Web-Sitzung in Bezug auf ein gewisses Thema zu einem bestimmten NOP zu quantifizieren. Mit der folgenden Formel wird ein Thema-Gewicht einer Session berechnet.
\formulaSessP
Infolge der Formel \ref{formulaSessP} ergibt sich ein gemischtes Ergebnis f"ur das Zeitdauerprofil und das Aktionsprofil. Die Parameter $a$ und $b$ sind die Einstellungsvariablen der Strategie, und lassen sich als die Relevanz des Aktionsprofils bzw. des Zeitdauerprofils betrachten, daraus ergibt sich, dass sich die Relevanz der Zeitdauerhandlungsweisen und Aktionshandlungsweisen leicht von dem Verwalter von NOP-Engine kontrollieren l"asst.
\subsection{neue Thema-Gewicht eines NOPs}
Bisher werden nur die Daten aus den neuen Handlungsweisen von den obenerw"ahnten Formeln verwendet. Die unten stehende Formel \ref{formulaNewP} ergibt ein kombinierter Beitrag der alten und neuen \kc{Handlungsweisen}. Das Ergenis dieser Formel wird als das {\bf neue Thema-Gewicht eines NOPs} \engl{New Topic Weight of NOP} bezeichnet.
\formulaNewP
Der Parameter $f$ ist eine Einstellungsvariable, und soll in der Strategie f"ur diese Formel zur Verf"ugung gestellt.
\section{Offene Probleme}
Anhand der Definitionen sind Gewichte von Aktionen und Thema-Gewichte von Zonen dynamisch ver"anderbar.

\subsection{Historien}
Bei der {\bf Historie} handelt es sich darum, dass sich die "Anderungen von den Aktionen bzw. den Zonen und die alte NOPs, die von Clustering als die Eingaben gebraucht werdne, nach dem Berechen von den neuen NOPs historisieren lassen. Ein Historie-Mechanismus ist f"ur das ganze System erforderlich, um Nebenwirkungen der "Anderungen von den Aktionen und Zonen bei der Kalkulation von \nops zu vermeiden, und alten NOPs zur Analyse anzubieten. Historisierung l"asst sich nur durch folgende Ereignisse ausl"osen : 
\begin{enumerate}
	\item Nach der "Anderung des Gewichts einer Aktion
	\item Nach der "Anderung der Thema-Liste einer Zone,
		\begin{itemize}
			\item Einf"ugen eines neuen Paars (Thema, Gewicht)
			\item Entfernen von einem Paar
			\item "Anderung des Gewichts von einem Paar  
		\end{itemize}
	\item Nach der Kalkulation eines neuen \nops
\end{enumerate}


\subsection{Der Parameter $f$}
In der Formel \ref{formulaNewP} wurde der Parameter $f$ eingef"uhrt. Dieser Parameter soll durch eine Funktion, die von den Daten der neuen Session abh"angig ist, ausgewertet. F"ur NOP-Engine werden zwei solche Funktionen zur Verf"ugung gestellt. Sie sollen frei w"ahlbar zum Berechnen von NOPs.
\section{Zusammenfassung}
Dieses Kapitel beschreibt die grundlegende Hintergrundinformationen f"ur NOP-Engine zum Thema der Berechnung von NOPs. Dabei werden die wesentliche Konzepte, die Methodik und die offene Fragen vorgestellt. In den weiteren Teilen dieser Arbeit wird sich damit befasst, diese Methodik Schritt f"ur Schritt zu implementieren.